package com.wgy.day33其他增强流.Properties属性集合;

import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/*
java.util.Properties extends Hashtable<k,v> implements Map<k,v>
Properties:属性集合.表示了一个持久的属性集.Properties 可保存流中或从流中加载.
Properties:使用键值结构存储数据,属性列表中每个键及其对应的值都是一个字符串,所以它的泛型可以不写
            Properties是一个双列集合,key和value默认都是字符串类型数据
Properties:构造方法:
           public Properties():创建一个空的属性列表

 Properties:存储数据和取出数据的方法
          void setProperty(String key,String value):往集合中添加元素, 此方法类似于Map集合中的put()方法
          String getProperty(String key):通过集合中的键找到对应的值并返回,此方法相当于Map集合中的get(kye)方法
          Set<String> stringPropertyNames():将集合中所有的键存储到Set集合中并返回

 可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
 可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用

*/
public class Demo01Properties {
    public static void main(String[] args) throws IOException {
        show01();

    }
    public static void show01(){
        //1.创建Properties集合对象
        Properties prop=new Properties();
        //2.使用setProperty往集合中添加数据元素
        prop.setProperty("赵丽颖","165");
        prop.setProperty("迪丽热巴","168");
        prop.setProperty("古力娜扎","160");
       // prop.put(1,true);put方法添加的元素可以是任意类型的,最好还是使用setProperty方法这个是Properties本类的方法,
                         // 添加的数据类型指定了就是String的

        //3.使用stringPropertyNames方法把  Properties集合中的键取出,存储到一个Set集合中
        Set<String> set = prop.stringPropertyNames();

        //4.遍历set集合,取出Properties集合的每一个value值
        for (String key : set) {
            String value = prop.getProperty(key);
            System.out.println(key+"="+value);
        }
    }

}
